# Please consult components/viz/README.md about allowable dependencies.

include_rules = [
  "+base",
  "+cc/base",
  "+cc/benchmarks",
  "+cc/output",
  "+cc/resources",
  "+cc/scheduler",
  "+components/viz/service/performance_hint",
  "+components/viz/service/surfaces",
  "+components/viz/service/display_embedder/overlay_candidate_validator_android.h",
  "+components/viz/service/display_embedder/overlay_candidate_validator_mac.h",
  "+components/viz/service/display_embedder/overlay_candidate_validator_ozone.h",
  "+components/viz/service/display_embedder/overlay_candidate_validator_surface_control.h",
  "+components/viz/service/display_embedder/overlay_candidate_validator_win.h",
  "+components/viz/service/display_embedder/skia_output_surface_dependency.h",
  "+components/viz/common",
  "+gpu/command_buffer/client",
  "+gpu/command_buffer/common",
  "+gpu/command_buffer/service",
  "+gpu/GLES2",
  "+gpu/config/gpu_finch_features.h",
  "+gpu/vulkan",
  "+media/base",
  "+mojo/public/cpp/system",
  "+skia",
  "+third_party/khronos",
  "+third_party/libyuv",
  "+third_party/skia",
  "+third_party/perfetto/protos/perfetto/trace/track_event",
  "+ui/latency",
  "+ui/gfx/android/android_surface_control_compat.h",
  "+ui/gfx/hdr_metadata.h",
  "+ui/gfx/video_types.h",
  "+ui/gl/ca_renderer_layer_params.h",
  "+ui/gl/dc_renderer_layer_params.h",
  "+ui/gl/gl_fence.h",
  "+ui/gl/gl_utils.h",
  "+ui/gl/gpu_switching_manager.h",
  "+ui/gl/gpu_switching_observer.h",
  "+ui/gl/trace_util.h",
  "+gpu/ipc/common/vulkan_ycbcr_info.h",
  "+gpu/ipc/gpu_task_scheduler_helper.h",
  "+gpu/ipc/display_compositor_memory_and_task_controller_on_gpu.h",
  "+gpu/ipc/scheduler_sequence.h",
  "+gpu/ipc/shared_image_interface_in_process.h",
  "+gpu/command_buffer/service/shared_image_factory.h",
  "+gpu/command_buffer/service/shared_image_manager.h",
  "+gpu/config/gpu_driver_bug_workaround_type.h",
]

specific_include_rules = {
  "dc_layer_overlay.cc|overlay_dc_unittest.cc": [
    # TODO(danakj): gl_switches.h brings runtime flags into the compositor which
    # makes testing coverage harder/less clear, it should not be here.
    "+ui/gl/gl_switches.h",
  ],
  "overlay_strategy_underlay_cast\.*" : [
    "+chromecast/media/service/mojom/video_geometry_setter.mojom.h",
    "+mojo/public",
  ],
  ".*_(unit|pixel|perf)test\.cc": [
    "+cc/test",
    "+components/viz/client",
    "+components/viz/service/display_embedder",
    "+components/viz/service/frame_sinks",
    "+components/viz/test",
    "+gpu/GLES2",
    "+media",
    "+third_party/libyuv",
    "+ui/gl/gl_implementation.h",
    "+third_party/zlib/google",
  ],
  "delegated_ink_point_renderer\.*" : [
    "+mojo/public/cpp/bindings",
  ],
  "viz_pixel_test\.(cc|h)": [
    "+components/viz/test",
  ],
  "output_surface\.h": [
    "+mojo/public/cpp/bindings/pending_receiver.h",
  ]
}
